/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modelo;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 * Classe entidade da tabela Lei
 *
 * @author emersonmx
 * @since 0.1
 */
@Entity
public class Lei implements Serializable {

  private static final long serialVersionUID = 1L;
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;
  private String numeroLei;
  private String processo;
  private String ementa;
  @Column(columnDefinition="CLOB")
  private String texto;
  private String numeroLeiRevoga;
  private int revogada = 0;

  public int getRevogada() {
        return revogada;
    }

  public void setRevogada(int revogada) {
        this.revogada = revogada;
    }

  public String getNumeroLeiRevoga() {
        return numeroLeiRevoga;
    }

  public void setNumeroLeiRevoga(String numeroLeiRevoga) {
        this.numeroLeiRevoga = numeroLeiRevoga;
    }

  public String getEmenta() {
    return ementa;
  }

  public void setEmenta(String ementa) {
    this.ementa = ementa;
  }

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public String getNumeroLei() {
    return numeroLei;
  }

  public void setNumeroLei(String numeroLei) {
    this.numeroLei = numeroLei;
  }

  public String getProcesso() {
    return processo;
  }

  public void setProcesso(String processo) {
    this.processo = processo;
  }

  public String getTexto() {
    return texto;
  }

  public void setTexto(String texto) {
    this.texto = texto;
  }

  @Override
  public boolean equals(Object obj) {
    if (obj == null) {
      return false;
    }
    if (getClass() != obj.getClass()) {
      return false;
    }
    final Lei other = (Lei) obj;
    if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) {
      return false;
    }
    if (this.numeroLei != other.numeroLei) {
      return false;
    }
    if ((this.processo == null) ? (other.processo != null) : !this.processo.equals(other.processo)) {
      return false;
    }
    if ((this.ementa == null) ? (other.ementa != null) : !this.ementa.equals(other.ementa)) {
      return false;
    }
    if ((this.texto == null) ? (other.texto != null) : !this.texto.equals(other.texto)) {
      return false;
    }
    return true;
  }

  @Override
  public int hashCode() {
    int hash = 3;
    hash = 29 * hash + (this.id != null ? this.id.hashCode() : 0);
    hash = 29 * hash + (this.numeroLei != null ? this.numeroLei.hashCode() : 0);
    hash = 29 * hash + (this.processo != null ? this.processo.hashCode() : 0);
    hash = 29 * hash + (this.ementa != null ? this.ementa.hashCode() : 0);
    hash = 29 * hash + (this.texto != null ? this.texto.hashCode() : 0);
    hash = 29 * hash + (this.numeroLeiRevoga != null ? this.numeroLeiRevoga.hashCode() : 0);
    return hash;
  }

  @Override
  public String toString() {
    return "Lei{" + "id=" + id + "numeroLei=" + numeroLei + "processo=" + processo + "ementa=" + ementa + "texto=" + texto + '}';
  }
}
